package com.my.yc.d0303;

import com.google.gson.Gson;
import com.my.yc.bean.Result;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.*;

@WebServlet(name = "LoginsServlet", value = "/LoginsServlet")
public class LoginsServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("application/json;charset=utf-8");

        Result result = new Result(0, "", null);
        // 验证用户输入的验证码是否正确
        String ucode = request.getParameter("vcode");
        // 获取会话中保存的验证码
        Object vcode = request.getSession().getAttribute("vcode");
        if (vcode.equals(ucode) == false){
            result.setMsg("验证码输入错误!");
        } else {
            String name = request.getParameter("name");
            Date date = new Date();
            String pwd = request.getParameter("pwd");
            if ("yc".equals(name) || "zs".equals(name) || "ls".equals(name) && "123".equals(pwd)){
                result.setCode(1);
                result.setMsg("登录成功");
                Map<String, Date> map = new HashMap<>();
                map.put(name, new Date());
                request.getSession().setAttribute("loginedUser", map);
                System.out.println(map.keySet());
                // 获取登录前访问的页面
                Object requestURI = request.getSession().getAttribute("requestURI");
                System.out.println(requestURI);
                // 放到结果对象中
                result.setData(requestURI);
            } else {
                result.setMsg("用户名或密码错误!");
            }
            String json = new Gson().toJson(result);
            response.getWriter().append(json);
        }

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
